// Created by Administrator on 2023/4/13.
/*
 http://www.aisichuang.net/#/main/Competition/TitlePage?id=1555&raceId=1292&stateanswer=true
 训练时间
题目描述

为了更好地准备下个月举行的信息学竞赛，李老师制定了 T 天的训练，并规定了每天的训练到场时间。
现在，给出 T 天的规定到场时间，以及小A同学的到场时间记录。请你判断每天小A同学有没有及时赶到训练场，以及迟到或早到的时间差。 输入格式
第一行一个整数 T(1≤T≤20)，表示有 T 组数据，每组数据共两行：
    第一行时间为李老师规定的训练时间h1,m1
    第二行时间为小A同学到达训练场的时间h2,m2​

已知每组数据中的时间均表示同一天的两个时间，且 0≤h1,h2≤23 ，0≤m1,m2≤59。
输出格式
输出共 T 行，每行对应一组数据的处理结果：
    如果小A同学及时到达训练场，则输出 Yes，及早到的分钟数。
    如果小A同学没有及时到达训练场，则输出 No，及迟到的分钟数。
注：同一行的两个数据用一个空格隔开。
*/
/*
样例输入 #1
4
14 30
14 25
8 0
9 0
13 10
12 50
7 25
7 25
样例输出 #1
Yes 5
No 60
Yes 20
Yes 0
*/ // 老师的方法 对于需要单位换算的 统一换算成小单位的数 不用数组
// 讲解 7'20" https://app19lud1c73566.h5.xiaoeknow.com/p/course/video/v_642f9349e4b0cf39e6b7f549
//


#include <iostream>

using namespace std;

int main()
{
    int n, h1, h2, m1, m2; // h1m1训练时间 h2m2到达时间
    cin>>n;
    for (int i = 0; i < n; ++i)
    {
        cin >> h1 >> m1;
        cin>> h2 >> m2;
        m1 += h1 * 60;
        m2 += h2 * 60;
        if (m2 > m1)
        {
            cout << "No " << (m2 - m1)<<endl;
        } else
        {
            cout << "Yes " << (m1 - m2)<<endl;
        }
    }
    return 0;
}
